package com.hanhai.material.wages.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.RelationOneToMany;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.sql.Date;
import java.util.List;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

/**
 *  实体类。
 *
 * @author youchuang
 * @since 2023/12/15 15:59:36
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(value = "sys_attendance_form")
public class SysAttendanceForm implements Serializable {

    @Id
    private String id;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date workDate;

    private String userName;

    private String jobNo;

    private String userId;

    private String position;

    private String dept;

    private Boolean isNormal;

    private String summary;

    private String createUserId;

    private String updateUserId;
    @Column(onInsertValue = "now()")
    private Date createTime;
    @Column(onUpdateValue = "now()")
    private Date updateTime;

    private String directlyManager;

    private String groupName;

    private String directlyManagerUserId;

    private boolean isEnd;
    @RelationOneToMany(selfField = "summary", targetField = "summary")
    private List<SysAttendanceForm> attendanceFormList;
}
